//package com.example.sunming.captcha;
//
//import cn.hutool.captcha.CaptchaUtil;
//import cn.hutool.captcha.ShearCaptcha;
//import com.emdata.meteorology.commons.data.ResultData;
//import lombok.extern.slf4j.Slf4j;
//import org.springframework.web.bind.annotation.RequestMapping;
//import org.springframework.web.bind.annotation.RequestMethod;
//import org.springframework.web.bind.annotation.ResponseBody;
//import org.springframework.web.bind.annotation.RestController;
//
//import javax.servlet.http.HttpServletRequest;
//import javax.servlet.http.HttpServletResponse;
//import java.io.IOException;
//import java.io.OutputStream;
//
///**
// * @author: sunming
// * @date: 2020/3/25
// * @description:
// */
//@RestController
//@RequestMapping("captcha")
//@Slf4j
//public class HuToolController {
//
//    /**
//     * 获取图形验证码
//     *
//     * @param request
//     * @param response
//     * @return
//     */
//    @ResponseBody
//    @RequestMapping(value = "/getShearCaptcha", method = RequestMethod.GET)
//    public ResultData<String> getShearCaptcha(HttpServletRequest request, HttpServletResponse response) {
//
//        OutputStream out = null;
//        try {
//            out = response.getOutputStream();// 取得输出流
//            //定义图形验证码的长、宽、验证码字符数、干扰线宽度
//            ShearCaptcha captcha = CaptchaUtil.createShearCaptcha(200, 100, 4, 4);
//            //ShearCaptcha captcha = new ShearCaptcha(200, 100, 4, 4);
//            //图形验证码写出，可以写出到文件，也可以写出到流
////            captcha.write("/Users/sunww/Desktop/shear.png");
//            captcha.write(out);
//            //验证图形验证码的有效性，返回boolean值
//            boolean checkPass = captcha.verify(captcha.getCode());
//            // 将生成的验证码code放入sessoin中
//            request.getSession().setAttribute("code", captcha.getCode());
//            out.flush();  // 将缓存中的数据立即强制刷新, 将缓冲区的数据输出到客户端浏览器
//            out.close(); // 关闭输出流
//
//            return null;
//        } catch (IOException e) {
//            e.printStackTrace();
//        } finally {
//            if (out != null) {
//                try {
//                    out.close();
//                } catch (IOException e) {
//                    e.printStackTrace();
//                }
//            }
//        }
//
//        return ResultData.error("图片获取失败");
//    }
//
//    /**
//     * 验证图形码（这一步其实可以放到登录拦截器中去做）
//     *
//     * @param inCode 前端输入的图形验证码code
//     * @param req
//     * @return
//     */
//    @ResponseBody
//    @RequestMapping(value = "/verifyCode", method = RequestMethod.GET)
//    public ResultData<String> verifyCode(String inCode, HttpServletRequest req) {
//
//        // 获取存放在session中的验证码
//        String code = (String) req.getSession().getAttribute("code");
//        // 获取页面提交的验证码
////        String inputCode = req.getParameter("code");
//        String inputCode = inCode;
//        if (code.toLowerCase().equals(inputCode.toLowerCase())) { // 验证码不区分大小写
//            return ResultData.success();
//        }
//        return ResultData.error("验证失败");
//    }
//
//}
